home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 4 / Mac Giga-ROM 4.0 - 1993.toast / FILES / UTI / A-D / DiskBench_1.1.cpt / DiskBench docs < prev    next >
Text File  |  1986-04-04  |  11KB  |  209 lines

  1.      DISKBENCH_11.BIN     (MAUG/DL2)  25-Mar-86   (1258 bytes)
  2. DiskBench does simple performance testing using the disk volume from
  3. which it is run.  Results are meaningful only relative to those from
  4. competing systems.  MDS source code is available (BROwse DBENCH.*). 
  5. Please report results to me.  Don't move the mouse during the test.  On
  6. HyperDrive, run from Startup, which must be more than 1MB in size and not
  7. fragmented (e.g., 1MB+ Startup restored to clean disk).  This new version
  8. fixes serious bug in previous one.     --Steve Brecher 70001,1011
  9.  
  10. [Editorial note: what follows is a digest of messages relating to DiskBench.]
  11.  
  12. -----------------------------
  13. Sb: HD Benchmark
  14. Fm: Steve Brecher 70001,1011
  15. To: All
  16.  
  17. I wrote a simple disk performance benchmark program which,
  18. along with its MDS assembler source code, is in MAUG/DL2.
  19.  
  20. The test is designed to measure hardware and disk driver performance, with no
  21. influence from the file system (HFS/MFS) or volume/file/Finder configuration.
  22. The program issues I/O requests directly to the disk driver.
  23.  
  24. The benchmark consists of three parts:
  25.  
  26. (1) 100 reads of 32KB of data from the start of the volume;
  27. (2) 100 writes of 32KB of data to the start of the volume;
  28. --the above two tests measure data transfer speed; 32KB was chosen to be a
  29. reasonably large chunk, but not so large that it would cross a cylinder
  30. boundary (thus not requiring any head movement).
  31.  
  32. (3) 40 iterations of:  read one 512-byte block from an offset of 1MB,
  33. followed by read of one 512-byte block from start of volume;
  34. --the above test measures access time, i.e., seek or head movement speed.
  35.  
  36. The test is non-destructive --
  37. Test (2) writes the data that was read in test (1).
  38. Test (3) is bypassed if the volume size is less than 1MB+512bytes.
  39. The volume tested is that from which the program is run.
  40.  
  41. On a Mac Plus, make sure disk caching is disabled in the Control
  42. Panel. Also, DO NOT move the mouse while the test is in progress.
  43.  
  44. The data transfer read/write test results are the time, in sixtieths of a
  45. second, it takes to read/write 32KB, 100 times, from/to the start of the
  46. volume from which DiskBench is run.
  47.  
  48. The access time test is the time, in sixtieths of a second, it takes to do
  49. forty repetitions of:  read 512 bytes from an offset of 1MB into the volume;
  50. read 512 bytes from the start of the volume.
  51.  
  52. The data transfer test is designed to indicate relative speed of transferring
  53. data between the disk and Mac RAM, with no influence from the software
  54. environment, data/directory/file structure on the disk, or movement of the
  55. disk heads.  (The latter is not true with floppies; they have less than 32KB
  56. in a cylinder, so they have to move their heads back and forth during the
  57. data transfer tests.)
  58.  
  59. The access time test is designed to indicate relative speed of moving the
  60. disk heads to a desired position.
  61.  
  62. The DiskBench program issues requests directly to the disk driver, bypassing
  63. the file system (bypassing HFS/MFS).  It provides a relative measure of the
  64. performance of the disk hardware and disk driver combination.  Any disk which
  65. has substantially better results on both tests than another will be faster in
  66. actual use, given the same surrounding hardware and software.  I believe (but
  67. cannot prove) that on the Mac (not necessarily on all computers) the data
  68. transfer time is relatively more important than the access time; this is not
  69. to say the latter should be ignored.
  70.  
  71. My belief is based on impressions and hearsay.  Impressions -- listening to
  72. disks in operation; not many long seeks on the Mac.  Hearsay -- a report that
  73. MicahDrive is "35% faster" than AST's fast-seeker, and "10-15% faster" than
  74. HyperDrive (which, best I can tell so far, seeks somewhat faster than
  75. MicahDrive).  No details supplied with the hearsay, so they could be hogwash.
  76.  
  77. MicahDrive has the fastest data transfer, but not particularly fast access
  78. time; and I haven't heard of a case where a given application loads faster
  79. from another drive.  Excel loads in about 6.5 seconds on MicahDrive (give or
  80. take -- measured by eyeball on adjacent Mac's alarm clock, from Open to
  81. appearance of worksheet).
  82.  
  83. Files tend not to be too fragmented in my experience, so seeks involved in
  84. resource loading to launch an application are typically over a short distance
  85. -- a cylinder or two.  (And many if not most of the small pieces will be in
  86. the same cylinder as the previous.)  Differences among drives in
  87. track-to-track times are not as great as differences in longer movements
  88. (e.g., as in the average access times usually quoted).  If a disk does become
  89. unduly fragmented, as can happen over time, it can be repaired by
  90. backup/restore.
  91.  
  92. Suppose it took 50 seeks to load a 100K application.  Suppose there was a
  93. difference of 20ms per seek between two drives, but that the faster seeker
  94. transferred each 2K piece at 200KBits/sec while the slower seeker did
  95. 450KBits/sec.  The fast seeker gains 1.0 second on seeks, but loses 2.2
  96. seconds on data transfer.  In this example, the data transfer ratio is
  97. typical of, say, that between MicahDrive and a decent external SCSI; but the
  98. difference in access time is, I think, exaggerated for the typical distances
  99. involved even if the external SCSI's average access time spec is 40ms faster.
  100. (That spec measures time to seek across a big chunk -- a third or half or so
  101. of the surface; I forget exactly how it's computed.)
  102.  
  103. For the majority of the market, the question is moot.  All of the under-$2000
  104. drives have average access times in the same ballpark (65-85ms).
  105.  
  106. (Current DiskBench results list follows.)
  107.  
  108.  
  109.                                Data transfer  Access   Tester
  110.                               ---- time ----   time
  111.                               Reads   Writes
  112.  
  113.  
  114.  400K floppy drive, Apple      8756    11816    N/A    S. Brecher
  115.  400K floppy drive, Apple      2984(?) 12392    N/A    G. Frascadore
  116.  400K floppy drive, Apple      2984(?) 12351    N/A    R. Perez
  117.  800K floppy drive, SS, Apple  8758    11407    N/A    S. Brecher
  118.  800K floppy drive, DS, Apple  7701    10874    N/A    S. Brecher
  119.  800K floppy drive, DS, Apple  7523    10913    N/A    N. Fong
  120.  AST 4000, AST Research        1495     1533    159    KATZ, Mousehole BBS
  121.  AST 4000, AST Research        1495     1549    160    KATZ (second drive)
  122.  AST 4000, AST Research        1495     1537    169    KATZ (third drive)
  123.  DataFrame 20, SuperMac        1319     2233    488    J. Bean
  124.  DataFrame 20, SuperMac        1344     2233    487    S. Brecher
  125.  Hard Disk 20, Apple           7074     7871    368    N. Fong
  126.  Hard Disk 20, Apple           7054     7944    370    KATZ, Mousehole BBS
  127.  Hard Disk 20, Apple           9883     6948    368    R. Wiggins
  128.  HyperDrive 10, obsolete model 1591     1616    401    S. Brecher
  129.  HyperDrive 10, GCC (V2R1)     8000(?)  7982(?) 648(?) H. Conover
  130.  HyperDrive 10, GCC (V2R1)     7985(?)  6892(?) 485    R. Perez
  131.  HyperDrive 20, GCC (V2R1)     1703     1506    640(?) R. Ford
  132.  HyperDrive 20, GCC            1704     1506    241(?) W. Luckie
  133.  MacBottom 10, v2.1, PCPC      4159     6897    686    M. O'Connor
  134.  MacBottom 10, v2.6, PCPC      4159     6897    608    S. Aronian
  135.  MacBottom 20, v2.1, PCPC      4110     6817    601    L. Becker
  136.  MacDrive, 10MB Fixed, Tecmar  6017     6719    401    C. Nicholais
  137.  MicahDrive 20 AT, Micah        508      507    488    S. Brecher
  138.  Quark QC-20                   6476     6488     82(?) R. Thacker
  139.  QuickDrive external RAMdisk   2411     2479     52    R. Bates
  140.  QuickDrive external RAMdisk   2466     2535     33    J. Eugenides
  141.  RamStart RAMdisk/Beck-Tech RAM 186      186    N/A    G. Frascadore
  142.  Warp 20, Warp Nine Engin'rng 14537    14537    321    G. Frascadore
  143. To: Andy Hertzfeld 70167,3430 (X)
  144.  
  145. Latency is generally included in access time.
  146.  
  147. I think the benchmarks don't confuse people as much as advertising hype and
  148. vague claims ("blinding speed") posted on networks.  And I don't think it's
  149. easy to just measure how long it takes to do things -- your parenthetical
  150. remark about different [contextual factors] on different disks is the big
  151. problem there.  Many of the "disk comparisons" I've seen were really
  152. comparisons of the file system (MFS vs HFS).
  153.  
  154. DiskBench is a cheap (easy to write, easy to run) measurement of the relative
  155. performance of what the consumer is buying when he buys a hard disk --
  156. *provided* that it is understood that the relative numbers do not translate
  157. directly into erceived speed of overall Mac operation, or even overall disk
  158. performance.  The only reason they don't translate into the latter is the
  159. existence of the issue we were discussing -- the relative importance of data
  160. transfer vs. access time.
  161.  
  162. I think the DiskBench results will surprise a lot of people.  By and large, I
  163. think those people will be better informed about relative disk performance
  164. than if the results weren't available.  Further, I think it will surprise
  165. some vendors, and will lead them to take another look at their driver
  166. software in an attempt to improve it.  I know of at least one vendor who
  167. plans to do that as a result of seeing the benchmark.  If he succeeds, his
  168. future customers will benefit.
  169.  
  170. In sum, I don't see how the widespread pre-existing confusion about disk
  171. performance could be made any worse, and I think DiskBench, while very much a
  172. "poor man's benchmark," is a lot better than nothing.
  173.  
  174. A better benchmark -- one that measured performance in typical use -- is
  175. either much harder to implement or so hard to use (requiring initializing the
  176. disk and comparing only when running the same Apple system software and
  177. identical disk contents ) that it's not feasible without a lot of time and
  178. effort.  MacInTouch has designed a reasonably good benchmark of that sort,
  179. but to my knowledge they haven't yet published a results listing including
  180. recently-available disks all running under the same file system, etc.  Those
  181. kind of results are expensive to generate.
  182.  
  183. It *would* be possible to do a vastly improved DiskBench by instrumenting a
  184. driver to record the I/O patterns of one or more end users and then using
  185. that pattern in the benchmark.  But that would take a lot longer than the few
  186. hours that DiskBench took to put together...
  187.  
  188. 400K floppy drive, Apple, Sys 3.1.1/Find 5.2:
  189.  
  190.                     Test#1          Test#2           Test#3
  191. Internal drive:
  192. Reads                2987            2989             2994
  193. Writes              12359           12444            12466
  194.  
  195. External Drive:
  196. Reads                2981            2985             2979
  197. Writes              12325           12333            12349
  198.  
  199. RAMdisk "old" system/Finder:
  200. Reads                 184             184              185
  201. Writes                184             185              184
  202.  
  203. RamStart Sys 3.1.1/Find 5.2
  204. Reads                 184             185              184
  205. Writes                185             186              184
  206.  
  207. The 29xx times for the 400K read tests are a mystery.  Floppies cannot go
  208. that fast (the external drive port cannot go that fast).  My own test was
  209. done with 128K ROMs.